/*!
 *  \file       SignalFilter.hpp
 *  \brief      Definizione della classe \c SignalFilter
 *  \author     Davide Scola <S2299453@studenti.unige.it>
 *  \author	Minetti Alberto <S3064777@studenti.unige.it>
 *  \version    1.0
 *
 */

#ifndef _SIGNAL_FILTER_H
#define _SIGNAL_FILTER_H

/*!
 *  \brief      Definizione della classe \c SignalFilter
 */
template< class tType, template< typename > class tFilter >
class SignalFilter {
  public :
    SignalFilter( void );
    SignalFilter( SignalFilter< tType, tFilter > const& );
    
    virtual SignalFilter& operator=( const SignalFilter& );
    
    void applyFilter( InputSignal< tType > & );
    
  protected :
    void doit( std::vector< std::complex< tType > > & );
};

#endif              /* _SIGNAL_FILTER_H */
